home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MENU_UTL / PULL32TP / PULLDOWN.DOC < prev    next >
Text File  |  1988-10-21  |  27KB  |  1,255 lines

  1.  
  2.  
  3.  
  4.             Pulldown Menu User's Guide
  5.  
  6.  
  7.                           Version 3.0 of 'Pulldown Menus'
  8.             
  9.  
  10.                                                         October 21, 1988
  11.  
  12.  
  13.                                       PREFACE:
  14.  
  15.             This is the full documentation for the enhanced versions of
  16.             the Pulldown Menus (ver 2 & 3).  The stripped down pulldown
  17.             menu TPU file is a subset of the enhanced versions.  Four
  18.             stars (****) will be placed next to the Function or
  19.             Procedure name of any routine that is only available in the
  20.             enhanced versions of the Pulldown Menus.
  21.  
  22.  
  23.                                     INTRODUCTION
  24.  
  25.             The set of files contained in this archive consist of a
  26.             pulldown menu system with pop up menu windows, integrated
  27.             Microsoft Mouse support, and routines to save and restore
  28.             the current window and the cursor.  This code was written
  29.             with the Turbo Pascal compiler (Version 5).  Compatability
  30.             with previous versions of Turbo Pascal is not possible since
  31.             the pulldown menu system is written as a Turbo Pascal Unit.
  32.  
  33.             The problem with most pulldown menu libraries is that it is
  34.             usually a pain in the neck to figure out how make it work
  35.             properly.  This pulldown menu system was designed with the
  36.             idea that you should only have to provide basic information
  37.             about what you want the headers to say, what you want
  38.             displayed in each submenu, where you want the headers
  39.             located on the pulldown menu bar, etc.  And, you should only
  40.             have to load this information into arrays as strings or
  41.             characters.
  42.  
  43.             This system is generic in the sense that you can specify up
  44.             to 10 headers (pulldown menu titles), and up to 10 submenus
  45.             under each header.  You load the pulldown menu headers,
  46.             submenu entries, and popup menu contents into pre-defined
  47.             arrays, and the pulldown menu system will do the rest by
  48.             generating the pulldown menus.  The Pulldown Menu system is
  49.             treated like a call to a Library routine.
  50.  
  51.             One (obvious) caution is that you must ensure that the
  52.             headers and submenus will fit on a single line.  Therefore,
  53.             it is best to keep the header and submenu entries as concise
  54.             as possible.
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.                                                                   Page 1
  65.  
  66.  
  67.  
  68.  
  69.  
  70.             Pulldown Menu User's Guide
  71.  
  72.  
  73.                     HOW TO USE THE PULLDOWN & POPUP MENU SYSTEM
  74.  
  75.             To use the pulldown menu system, specify the following:
  76.  
  77.             1)  The number of headers in the pulldown menu.
  78.  
  79.             2)  The column each header should start in.
  80.  
  81.             3)  The number of entries in each pulldown menu's submenu.
  82.  
  83.             4)  The width of each pulldown menu submenu.
  84.  
  85.             5)  The title (if any) that will appear on the first line
  86.                 (within the frame).
  87.  
  88.             6)  The justification for the title (left, right or center).
  89.  
  90.             7)  The popup menu X and Y starting location
  91.  
  92.             8)  The popup menu width
  93.  
  94.             9)  The number of entries in the popup menu.
  95.  
  96.  
  97.             PULLDOWN MENU RETURN VARIABLES
  98.  
  99.             The pulldown menu system returns three variables:
  100.  
  101.             1) Pulldown_Menu_Number    -  Identifies which pulldown menu
  102.                                           header was selected.
  103.  
  104.             2) Pulldown_Menu_Selection -  Identifies which submenu entry
  105.                                           was selected.
  106.  
  107.             3) PopUp_Menu_Selection    -  Identifies which pop up menu
  108.                                           entry was selected.
  109.  
  110.             These variables are global to your program.  By setting up a
  111.             Case statement, you can identify which menus were selected
  112.             and call your corresponding routines.
  113.  
  114.             
  115.  
  116.                               PULLDOWN MENU SELECTIONS
  117.  
  118.             Selections can be made by moving the cursor to the desired
  119.             item and hitting the return key.  A short cut method is to
  120.             hit the key corresponding to the number or capitalized first
  121.             letter displayed in a highlighted color.  Once the main
  122.             pulldown menu displays a submenu, you can hit the left or
  123.             right arrow keys to go from one pulldown menu header to the
  124.             next, or use the up or down arrow keys to move within the
  125.             submenu.  If you want to back out of the submenu, hit the
  126.             ESC key.  With the enhanced version, you can also use a
  127.  
  128.  
  129.  
  130.                                                                   Page 2
  131.  
  132.  
  133.  
  134.  
  135.  
  136.             Pulldown Menu User's Guide
  137.  
  138.  
  139.             mouse.  To select an item, position the mouse cursor over
  140.             the desired item and click either the left or right button.
  141.             Any combination of keyboard or mouse selections is allowable
  142.             in the enhanced version.
  143.  
  144.             
  145.  
  146.                               PULLDEMO.PAS - DEMO FILE
  147.  
  148.             PullDemo.PAS is a template file to help you get your code
  149.             integrated into the pulldown menu system as fast as
  150.             possible.  This file should be examined to see how you
  151.             should load the data structures, set up your case
  152.             statements, etc.  I have provided sample headers and
  153.             submenus to show the types of program control that may be
  154.             set up.
  155.  
  156.             Pulldown Menu #1, Sub Menu Item #2 should be examined
  157.             closely.  A demonstration is provided to show how you can
  158.             get a selection from the popup menu, do something, and then
  159.             return to the popup menu instead of the main pulldown menu
  160.             system.
  161.  
  162.  
  163.                             PULLDOWN MENU INITILAIZATION
  164.  
  165.             This template file also shows you how to initialize the main
  166.             pulldown menu, submenu and popup menu systems.  You are
  167.             currently limited to 10 headers, 10 submenu entries, and 20
  168.             PopUp Menu entries.  However, these values can be changed at
  169.             will to suit your particular application by changing a
  170.             constant (marked in the source file).
  171.  
  172.             The major revision as of version 2.0 of this program was the
  173.             use of dynamic variables for the submenu and popup menu data
  174.             structures.  The submenu pointer approach reduces the data
  175.             stack from 57K bytes to less than 6K bytes.
  176.  
  177.             The popup menu pointers reduces this further to 2797 bytes.
  178.             Because pointers are involved, you must use the NEW ()
  179.             statement when initializing the submenus and popup menus.
  180.  
  181.             An example is as follows:
  182.  
  183.                     New (SubMenu[1]);
  184.                     With Submenu[1]^ do
  185.                          begin
  186.                               ........
  187.                          end;
  188.             
  189.  
  190.             You don't have to initialize the unused portions of the data
  191.             structures.  That is, if you have 7 pulldown menu headers
  192.             you don't have to initialize or use submenus 8, 9, & 10.
  193.  
  194.  
  195.  
  196.                                                                   Page 3
  197.  
  198.  
  199.  
  200.  
  201.  
  202.             Pulldown Menu User's Guide
  203.  
  204.  
  205.             NOTE:               *************************
  206.  
  207.             If you don't want a submenu under a main menu header, you
  208.             must still initialize the submenu and enter 0 for the number
  209.             of submenu entries.
  210.  
  211.                                 *************************
  212.  
  213.             Make sure that you set DirectVideo to TRUE in your program
  214.             so that the screen writes occur as fast as possible.
  215.  
  216.             Before you call Make_Menu, you must initialize the array
  217.             containing the menu entries, that is passed to the
  218.             procedure.  The initialization is simple and consists of
  219.             using the New statement to create the pointer variable and
  220.             loading the menu entries in the array. I suggest that you
  221.             keep the initialization as a callable procdure as shown in
  222.             the template file, rather than performing the initialization
  223.             in the body of your code.
  224.  
  225.             Note that when using the enhanced version, the
  226.             initialization must also include the MOUSE_INIT procedure.
  227.             MOUSE_INIT is called AFTER the DrawMainHeader procedure.
  228.  
  229.             Example,
  230.  
  231.                     MainMenu_Init;
  232.                     Submenu_Init
  233.                     DrawMainHeader;
  234.                     Mouse_Init;
  235.             
  236.  
  237.             The complete initialization is shown in the template file.
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.                                                                   Page 4
  263.  
  264.  
  265.  
  266.  
  267.  
  268.             Pulldown Menu User's Guide
  269.  
  270.  
  271.                           GLOBAL PROCEDURES AND FUNCTIONS
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.                                                                   Page 5
  329.  
  330.  
  331.  
  332.  
  333.  
  334.             Pulldown Menu User's Guide
  335.  
  336.  
  337.             CURSOR_OFF
  338.  
  339.  
  340.             Declaration:        cursor_off;
  341.  
  342.             Remarks:            This procedure turns the text cursor
  343.                                 off.
  344.  
  345.             Restrictions:       Must be in text mode.
  346.  
  347.             Example:
  348.  
  349.                         .
  350.                         .
  351.                         .
  352.                       write ("Here''s the cursor ... ");
  353.                       delay (2000);  {2 second delay}
  354.                       cursor_off;
  355.                       writeln;
  356.                       write ("Now it''s gone ....... ");
  357.                       delay (1000);
  358.                       writeln;
  359.                       write ("Now it's back again .. ");
  360.                       cursor_on;
  361.                         .
  362.                         .
  363.                         .
  364.             
  365.  
  366.             See: CURSOR_ON
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.                                                                   Page 6
  395.  
  396.  
  397.  
  398.  
  399.  
  400.             Pulldown Menu User's Guide
  401.  
  402.  
  403.             CURSOR_ON
  404.  
  405.  
  406.             Declaration:        cursor_on;
  407.  
  408.             Remarks:            This procedure turns the text cursor on
  409.                                 after a call to CURSOR_OFF has been
  410.                                 made.
  411.  
  412.             Restrictions:       Must be in text mode.
  413.  
  414.             Example:
  415.  
  416.                         .
  417.                         .
  418.                         .
  419.                       write ("Here''s the cursor ... ");
  420.                       delay (2000);  {2 second delay}
  421.                       cursor_off;
  422.                       writeln;
  423.                       write ("Now it''s gone ....... ");
  424.                       delay (1000);
  425.                       writeln;
  426.                       write ("Now it's back again .. ");
  427.                       cursor_on;
  428.                         .
  429.                         .
  430.                         .
  431.             
  432.  
  433.             See: CURSOR_OFF
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.                                                                   Page 7
  461.  
  462.  
  463.  
  464.  
  465.  
  466.             Pulldown Menu User's Guide
  467.  
  468.  
  469.             ****      DIRECTRY
  470.  
  471.  
  472.             Declaration:        directry;
  473.  
  474.             Remarks:            This procedure prompts the user for a
  475.                                 file mask. A window is created
  476.                                 displaying all of the files found that
  477.                                 fit the specified mask. This procedure
  478.                                 uses the MakeWindow procedure. The
  479.                                 underlying screen is automatically saved
  480.                                 and restored upon entry and exit of the
  481.                                 procedure.
  482.  
  483.             Restrictions:       Must be in text mode.
  484.  
  485.             Example:
  486.  
  487.                         .
  488.                         .
  489.                         .
  490.                       Directry;      {everything is handled in this
  491.                                      higher level procedure}
  492.                         .
  493.                         .
  494.                         .
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                                                                   Page 8
  527.  
  528.  
  529.  
  530.  
  531.  
  532.             Pulldown Menu User's Guide
  533.  
  534.  
  535.             DRAWMAINHEADER
  536.  
  537.  
  538.             Declaration:        DrawMainHeader;
  539.  
  540.             Remarks:            This procedure displays the main
  541.                                 pulldown menu header. This is called as
  542.                                 an initialization in the main body of
  543.                                 your program.
  544.  
  545.             Restrictions:       Must be in text mode.
  546.  
  547.             Example:
  548.  
  549.                         .
  550.                         .
  551.                         .
  552.                       DrawMainHeader;
  553.                         .
  554.                         .
  555.                         .
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.                                                                   Page 9
  593.  
  594.  
  595.  
  596.  
  597.  
  598.             Pulldown Menu User's Guide
  599.  
  600.  
  601.             ****      GOTOXY_MOUSE
  602.  
  603.  
  604.             Declaration:        GotoXY_Mouse (var Col, Row : Integer);
  605.  
  606.             Remarks:            This procedure is similar to the GotoXY
  607.                                 routine built into Turbo Pascal.  If the
  608.                                 mouse driver is installed in memory,
  609.                                 this procedure will position the mouse
  610.                                 cursor to the specified column and row.
  611.  
  612.             Restrictions:       Must be in text mode and MOUSE.COM
  613.                                 driver must be loaded in memory.
  614.  
  615.             Example:
  616.  
  617.                         .
  618.                         .
  619.                         .
  620.                       GotoXY_Mouse (10,15);    {positions the mouse
  621.                                                cursor in column 10, row
  622.                                                15}
  623.                         .
  624.                         .
  625.                         .
  626.             
  627.  
  628.             See: MOUSE_INSTALLED, HIDE_MOUSE, SHOW_MOUSE
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.                                                                  Page 10
  659.  
  660.  
  661.  
  662.  
  663.  
  664.             Pulldown Menu User's Guide
  665.  
  666.  
  667.             ****      HIDE_MOUSE
  668.  
  669.  
  670.             Declaration:        Hide_Mouse;
  671.  
  672.             Remarks:            This procedure turns the mouse cursor
  673.                                 off. This is used with the Boolean
  674.                                 function Mouse_Installed. If
  675.                                 Mouse_Installed is True then you can
  676.                                 hide the mouse cursor.
  677.  
  678.             Restrictions:       MOUSE.COM must be loaded in memory.
  679.  
  680.             Example:
  681.  
  682.                         .
  683.                         .
  684.                         .
  685.                       If Mouse_Installed then
  686.                            begin
  687.                                 Hide_Mouse;
  688.                                 {do other things}
  689.                                 Show_Mouse;
  690.                            end;
  691.                         .
  692.                         .
  693.                         .
  694.             
  695.  
  696.             See: MOUSE_INSTALLED, SHOW_MOUSE, GOTOXY_MOUSE
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.                                                                  Page 11
  725.  
  726.  
  727.  
  728.  
  729.  
  730.             Pulldown Menu User's Guide
  731.  
  732.  
  733.             MAKEMENU
  734.  
  735.  
  736.             Declaration:        MakeMenu (var start_row, start_col,
  737.                                 menu_width, number_of_menu_entries,
  738.                                 foreground_color, background_color,
  739.                                 frame_color : Integer; Menu_Contents :
  740.                                 MenuPtr);
  741.  
  742.             Remarks:            This procedure displays a pop up menu.
  743.                                 The items that are displayed as
  744.                                 selections are contained in the array of
  745.                                 pointers of type MenuPtr (See template
  746.                                 file). The screen contents are NOT
  747.                                 automatically saved and restored upon
  748.                                 entry and exit to the procedure. You
  749.                                 must execute the SAVESCREEN &
  750.                                 RESTORESCREEN procedures yourself.
  751.  
  752.             Restrictions:       Must be in text mode.
  753.  
  754.             Example:
  755.  
  756.                         .
  757.                         .
  758.                         .
  759.                       MakeMenu  (33, 12, 13, 5, blue, lightgray, blue,
  760.                                 Menu_Items[5]);
  761.                         .
  762.                         .
  763.                         .
  764.             
  765.             See: SAVESCREEN, RESTORESCREEN
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.                                                                  Page 12
  791.  
  792.  
  793.  
  794.  
  795.  
  796.             Pulldown Menu User's Guide
  797.  
  798.  
  799.             ****      MAKEWINDOW
  800.  
  801.  
  802.             Declaration:        MakeWindow (var start_row, start_col,
  803.                                 window_width, number_of_rows_in_window,
  804.                                 foreground_color, background_color,
  805.                                 frame_color, title_color : Integer;
  806.                                 Justification : Char; Title : string80;
  807.                                 Shadow : Boolean);
  808.  
  809.             Remarks:            This procedure displays a pop up window.
  810.                                 A title can be specified as a string. If
  811.                                 no title is desired, specify "". The
  812.                                 title can be right, left or center
  813.                                 justified in the screen. If Shadow is
  814.                                 True, a shadow is drawn "under" the
  815.                                 window to provide a 3-D effect. The
  816.                                 screen contents are automatically saved
  817.                                 and restored upon entry and exit to the
  818.                                 procedure.
  819.  
  820.             Restrictions:       Must be in text mode.
  821.  
  822.             Example:
  823.  
  824.                         .
  825.                         .
  826.                         .
  827.                       Cursor_off;
  828.                       makewindow     (10, 10, 20, 5, white, red, black,
  829.                                      yellow, 'c', "Hello, World", True);
  830.                       GotoXy (1,1);
  831.                       writeln ("Here''s some text in the window ...");
  832.                       repeat until keypressed;
  833.                       restorewindow;
  834.                       cursor_on;
  835.                         .
  836.                         .
  837.                         .
  838.             
  839.             
  840.             See: RESTOREWINDOW
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.                                                                  Page 13
  857.  
  858.  
  859.  
  860.  
  861.  
  862.             Pulldown Menu User's Guide
  863.  
  864.  
  865.             ****      MOUSE
  866.  
  867.  
  868.             Declaration:        Mouse     (var M1, M2, M3, M4, M5 :
  869.                                           Integer);
  870.  
  871.             Remarks:            This procedure is the main mouse command
  872.                                 interface routine.  Integers are loaded
  873.                                 into the variables M1 through M5, then
  874.                                 Mouse (..) is called.  Refer to the
  875.                                 Microsoft Mouse Programmer's reference
  876.                                 Guide for details on all of the mouse
  877.                                 functions.
  878.  
  879.             Restrictions:       MOUSE.COM must be loaded in memory.
  880.  
  881.             Example:
  882.  
  883.                         .
  884.                         .
  885.                         .
  886.                       M1 := 3;  {Get mouse position and button status}
  887.                       M2 := 0; M3 := 0; M4 := 0; M5 := 0;
  888.                       Mouse (M1, M2, M3, M4, M5);
  889.                       {returns button status in M2, horizontal cursor
  890.                       position in M3, and vertical cursor position in
  891.                       M4}
  892.                         .
  893.                         .
  894.                         .
  895.             
  896.  
  897.             See: MOUSE_INSTALLED, GOTOXY_MOUSE, HIDE_MOUSE, SHOW_MOUSE
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.                                                                  Page 14
  923.  
  924.  
  925.  
  926.  
  927.  
  928.             Pulldown Menu User's Guide
  929.  
  930.  
  931.             ****      MOUSE_INIT
  932.  
  933.  
  934.             Declaration:        Mouse_Init;
  935.  
  936.             Remarks:            This is the initialization procedure for
  937.                                 the mouse routines. If MOUSE.COM is
  938.                                 installed the mouse cursor is enabled
  939.                                 and centered on the screen. This
  940.                                 procedure is called as part of the
  941.                                 Pulldown Menu initialization process in
  942.                                 the main body of the program. See the
  943.                                 program template for an example.
  944.  
  945.             Restrictions:       Must be in text mode and MOUSE.COM must
  946.                                 be installed in memory.
  947.  
  948.             Example:
  949.  
  950.                         .
  951.                         .
  952.                         .
  953.                       Mouse_Init;
  954.                       {checks to see if MOUSE.COM is installed, if true
  955.                       then show the mouse cursor and center it on the
  956.                       screen.}
  957.                         .
  958.                         .
  959.                         .
  960.             
  961.  
  962.             See: MOUSE_INSTALLED, GOTOXY_MOUSE, HIDE_MOUSE, SHOW_MOUSE
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.                                                                  Page 15
  989.  
  990.  
  991.  
  992.  
  993.  
  994.             Pulldown Menu User's Guide
  995.  
  996.  
  997.             ****      MOUSE_INSTALLED
  998.  
  999.  
  1000.             Declaration:        Mouse_Installed;
  1001.  
  1002.             Remarks:            This function checks to see if the
  1003.                                 MOUSE.COM driver is installed. It
  1004.                                 returns a Boolean value.
  1005.  
  1006.             Restrictions:       None.
  1007.  
  1008.             Example:
  1009.  
  1010.                         .
  1011.                         .
  1012.                         .
  1013.                       If Mouse_Installed then
  1014.                            begin
  1015.                                 {do something}
  1016.                            end;
  1017.                         .
  1018.                         .
  1019.                         .
  1020.             
  1021.  
  1022.             See: GOTOXY_MOUSE, HIDE_MOUSE, SHOW_MOUSE
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.                                                                  Page 16
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.             Pulldown Menu User's Guide
  1061.  
  1062.  
  1063.             RESTORE_SCREEN
  1064.  
  1065.  
  1066.             Declaration:        Restore_Screen;
  1067.  
  1068.             Remarks:            This procedure restores the last saved
  1069.                                 screen. The counter that keeps track of
  1070.                                 the number of saved screens is
  1071.                                 automatically decremented by 1. Note
  1072.                                 that the higher level routines
  1073.                                 MakeWindow and RestoreWindow
  1074.                                 automatically save and restore
  1075.                                 underlying screens. MakeMenu does not.
  1076.                                 Note that in the stripped version of the
  1077.                                 pulldown menu system, only 1 screen can
  1078.                                 be saved or restored.
  1079.  
  1080.             Restrictions:       None.
  1081.  
  1082.             Example:
  1083.  
  1084.                         .
  1085.                         .
  1086.                         .
  1087.                       save_screen;
  1088.                       {do something}
  1089.                       restore_screen;
  1090.                         .
  1091.                         .
  1092.                         .
  1093.             
  1094.  
  1095.             See: MAKEWINDOW, RESTOREWINDOW, MAKEMENU, SAVE_SCREEN
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.                                                                  Page 17
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.             Pulldown Menu User's Guide
  1127.  
  1128.  
  1129.             SAVE_SCREEN
  1130.  
  1131.  
  1132.             Declaration:        Save_Screen;
  1133.  
  1134.             Remarks:            This procedure saves a screen to an
  1135.                                 array in memory. The counter that keeps
  1136.                                 track of the number of saved screens is
  1137.                                 automatically incremented by 1. Note
  1138.                                 that the higher level routines
  1139.                                 MakeWindow & RestoreWindow automatically
  1140.                                 save and restore underlying screens.
  1141.                                 MakeMenu does not. Note that in the
  1142.                                 stripped version of the pulldown menu
  1143.                                 system, only 1 screen can be saved or
  1144.                                 restored.
  1145.  
  1146.             Restrictions:       None.
  1147.  
  1148.             Example:
  1149.  
  1150.                         .
  1151.                         .
  1152.                         .
  1153.                       save_screen;
  1154.                       {do something}
  1155.                       restore_screen;
  1156.                         .
  1157.                         .
  1158.                         .
  1159.             
  1160.  
  1161.             See: MAKEWINDOW, RESTOREWINDOW, MAKEMENU, RESTORE_SCREEN
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.                                                                  Page 18
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.             Pulldown Menu User's Guide
  1193.  
  1194.  
  1195.             ****      SHOW_MOUSE
  1196.  
  1197.  
  1198.             Declaration:        Show_Mouse;
  1199.  
  1200.             Remarks:            This procedure shows the mouse cursor
  1201.                                 that has previously been turned off with
  1202.                                 a call to Hide_Mouse.
  1203.  
  1204.             Restrictions:       MOUSE.COM must be installed.
  1205.  
  1206.             Example:
  1207.  
  1208.                         .
  1209.                         .
  1210.                         .
  1211.                       If Mouse_Installed then
  1212.                            begin
  1213.                                 Hide_Mouse;
  1214.                                 {do something}
  1215.                                 Show_Mouse;
  1216.                            end;
  1217.                         .
  1218.                         .
  1219.                         .
  1220.             
  1221.  
  1222.             See: MOUSE_INSTALLED, HIDE_MOUSE
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.                                                                  Page 19
  1253.  
  1254.  
  1255.